# 脚本名称: 数据库初始化与启动脚本
# 功能描述:
#   1. 确保数据库服务已启动并可用
#   2. 执行数据库迁移（Alembic）
#   3. 初始化数据库中的初始数据
# 使用场景:
#   - 在项目部署或开发环境初始化时运行
#   - 用于确保数据库状态与代码版本一致
# 注意事项:
#   - 脚本会启用调试模式（set -x），执行时会输出详细日志
#   - 任何步骤失败将导致脚本立即终止（set -e）
# 依赖项:
#   - Python 环境
#   - Alembic（数据库迁移工具）
#   - 项目中的 backend_pre_start.py 和 initial_data.py 脚本
#! /usr/bin/env bash

set -e
set -x

# Let the DB start
python app/backend_pre_start.py

# Run migrations
alembic upgrade head

# Create initial data in DB
python app/initial_data.py
